The present invention relates to network communications and, more particularly, to analysis of network communication paths.
Computer networks have grown increasingly complex with the use of distributed client/server applications, mixed platforms and multiple protocols all in a single physical backbone. The control of traffic on networks is likewise moving from centralized information systems departments to distributed work groups. The growing utilization of computer networks is not only causing a move to new, high speed technologies, but is at the same time making the operation of computer networks more critical to day to day business operations. The use of quality of service (QoS) criteria for managing and/or contracting communication service level agreements (SLAs) is becoming increasingly common in networks, such as networks supporting Internet protocol (IP) communications.
Deregulation of telecommunications providers, new communications technologies, and the Internet have often been cited as important factors in bringing about increased competition in the delivery of telecommunications services. As a result of this increased competition, telecommunications providers have generally been under pressure to improve efficiency and cut costs and yet still maintain a high quality level of service for their customers. In this competitive environment, one area in which telecommunications providers may be able to gain a competitive edge is in the support systems that are used to operate, manage, and maintain the telecommunications networks. These support systems may be called operational support systems (OSS).
Broadly stated, an OSS for a telecommunications network may include software services that are used to support the operations of a telecommunications network. Three support areas that may be addressed by a telecommunications OSS are 1) provisioning and order management, 2) billing and customer support, and 3) network management. Provisioning and order management may include such functions as service activation, service order processing, and service provisioning. Billing and customer support may include such functions as data collection, retail and wholesale billing, bill compilation, and customer care. Finally, network management and/or network service quality management may include such functions as fault management, performance monitoring, error analysis, and security.
One problem related to network management which may be encountered is a loss of data records during transmission from a source device to a destination device over a communication network. It is desirable, under such circumstances, to be able to identify the root cause device for such lost data records, so as, for example, to facilitate prompt initiation of corrective actions. However, the increasingly complex structure of such communications networks, such as the Internet, complicates the identification of the root cause for such losses given the numerous routing devices which may define the network between the source and destination device and further given the nature of the structure of the Internet in which it is common to have a variety of different paths which may be utilized for transmission of data records between a given source and destination device. It is known with various commercially available network management system packages to utilize commands such as segment path identification commands and xe2x80x9cpingxe2x80x9d features in combination with direct queries to the routing devices defining the topology of a network to obtain status and performance information. This approach generally relies on overall performance information from the various routing devices defining the communications network based on either passive or active generated data transmissions to characterize the status of communications network components rather than evaluating the specific data flow which encountered the lost data records and directly identifying a point of loss.
Embodiments of the present invention include methods, systems and computer program products for determining a point of loss for data records to be communicated between a source and a destination on a communication network. A topology of the communication network between the source and the destination is determined which includes a plurality of connecting nodes. A number of data records from the source directed to the destination passing between ones of the connecting nodes during a determined period of time is monitored. At least one of the connecting nodes is identified as the point of loss based on the monitored number of data records and the determined topology.
In further embodiments of the present invention, a plurality of network appliances configured to obtain a number of data records passing between a pair of connecting nodes during a time period are positioned between respective ones of the connecting nodes. Monitoring operations utilize the network appliances by identifying at least one of the network appliances on the topology and obtaining the number of data records from the source directed to the destination obtained by the identified at least one network appliance during the determined period of time.
Operations in accordance with embodiments of the present invention may include identifying at least one first hop one of the network appliances which is coupled to the source over the communication network. In addition, at least one next hop one of the network appliances is identified which is coupled between the at least one first hop one of the network appliances and the destination. A number of data records from the source directed to the destination obtained by the at least one first hop one of the network appliances and the at least one next hop one of the network appliances during the determined time period is obtained. The number of data records from the source directed to the destination obtained by one of the at least one first hop one of the network appliances is compared with the number of data records from the source directed to the destination obtained by ones of the at least one next hop one of the network appliances coupled between the one of the at least one first hop one of the network appliances and the destination A connecting node positioned between the at least one first hop one of the network appliances and the ones of the at least one next hop one of the network appliances is identified as the point of loss for data records if the number of data records from the source directed to the destination obtained by one of the at least one first hop one of the network appliances differs by a threshold amount from the number of data records from the source directed to the destination obtained by ones of the at least one next hop one of the network appliances coupled between the one of the at least one first hop one of the network appliances and the destination. The first hop network appliance may be coupled to the source without intervening ones of the network appliances. The next hop network appliance(s) may be coupled between the first hop network appliance and the destination without intervening ones of the network appliances.
In yet other embodiments of the present invention, a number of data records from the source directed to the destination obtained by an upstream one of the network appliances is compared with a number of data records from the source directed to the destination obtained by at least one downstream one of the network appliances coupled between the upstream one of the network appliances and the destination at an adjacent downstream position. Comparisons are performed for successive ones of the network appliances until either the destination is reached or at least one of the connecting nodes is identified as the point of loss for data. A connecting node positioned between the upstream one of the network appliances and corresponding downstream ones of the network appliances is identified as the point of loss for data records if the number of data records from the source directed to the destination obtained by the upstream one of the network appliances differs by a threshold amount from the number of data records from the source directed to the destination obtained by the corresponding downstream ones of the network appliances. Comparison operations may further be repeated for successive ones of the network appliances on the topology until the destination is reached even after a point of loss is identified and all connecting nodes positioned between upstream ones of the network appliances and corresponding downstream ones of the network appliances may be identified as points of loss for data records if the number of data records from the source directed to the destination obtained by respective upstream ones of the network appliances differs by a threshold amount from the number of data records from the source directed to the destination obtained by corresponding downstream ones of the network appliances.
In further embodiments of the present invention, the obtained numbers of data records from the source directed to the destination are adjusted to compensate for in transit introduced changes to data records before comparing the number of data records from the source directed to the destination obtained by one of the at least one first hop one of the network appliances with the number of data records from the source directed to the destination obtained by ones of the at least one next hop one of the network appliances coupled between the one of the at least one first hop one of the network appliances and the destination. The obtained numbers of data records from the source directed to the destination may be adjusted to compensate for encryption related changes in data records introduced by a connecting node coupled between the a first hop one and at least one next hop one of the network appliances.
In other embodiments of the present invention, the determined period of time is defined for the at least one first hop one of the network appliances and the at least next hop one of the network appliances based on a delay between the at least one first hop one of the network appliances and the at least next hop one of the network appliances. The determined time period may be defined for the at least one first hop one of the network appliances and the at least next hop one of the network appliances based on an average delay between the at least one first hop one of the network appliances and the at least next hop one of the network appliances determined over an averaging window.
In further embodiments of the present invention, the threshold amount is defined based on an expected timing related variability between numbers of data records obtained by ones of the network appliances. The threshold amount may be defined based on a percentage of data record throughput for respective ones of the network appliances.
In yet other embodiments of the present invention, the connecting nodes are routing devices selected from the group consisting of routers, bridges and switches. A network appliance may be positioned between each defined connecting node in the topology and all other adjacent defined connecting nodes in the topology. One or more of the defined connecting nodes may include a plurality of routing devices.
In further embodiments of the present invention, systems are provided for determining a point of loss for data records to be communicated between a source and a destination on a communication network. The system includes a memory including a topology of the communication network between the source and the destination, the topology including a plurality of connecting nodes. A receiver receives from a plurality of network appliances at determined locations on the communication network a number of data records from the source directed to the destination passing between ones of the connecting nodes during a determined period of time. A comparison circuit identifies at least one of the connecting nodes as the point of loss based on the received number of data records, the locations of the network appliances and the topology.
The systems in further embodiments include the plurality of network appliances. Pairs of the connecting nodes define segments of the topology between the source and the destination. At least one of the network appliances is coupled between each of the pairs of the connecting nodes. The network appliances in further embodiments include a timer. A filter identifies ones of a plurality of data records detected by the at least one of the network appliances that are being transmitted from the source to the destination on the communications network. A counter counts filtered ones of the plurality of data records, the counter being configured to be reset responsive to the timer. A transmitter transmits counts from the counter to the receiver. The filter may be configured to identify ones of the plurality of data records based on the source Internet Protocol (IP) address and destination IP address of a data packet containing data records detected by the at least one of the network appliances.
While the invention has been described above primarily with respect to method aspects of the invention, both systems and/or computer program products are also provided.